<?php
defined('EXEC') or die();
$transacao = 'movimento_caixa';

if(!$auth->isRead($transacao)){
	Util::info(Config::AUTH_MESSAGE);
	return true;
}
//Importando a classes
Loader::import('com.atitudeweb.SQL');
Controller::addHead('fullcalendar', 'css');
Controller::addHead('fullcalendar.print', 'css');
Controller::addHead('jquery.blockUI', 'js');
Controller::addHead('globalize', 'js');
Controller::addHead('globalize.culture.pt-BR', 'js');
Controller::addHead('fullcalendar', 'js');
Controller::addHead('gcal', 'js');
////////////////////////
//CRUD atitudeweb 1.0 //
////////////////////////
$form 			= false;
$rowEdit 		= array();
$table 			= ' tethys.tb_movimento_caixa ';
$tablepk 		= 'ci_mov_caixa';
$tableEdit      = " tethys.tb_movimento_caixa mc inner join tethys.tb_contabancaria cb on mc.cd_contabancaria=cb.ci_contabancaria ";
$limitPagina 	= 10; //Registros por página
$faixa 			= 10; //Faixa de páginas que irão ser mostradas paginação (google)
$dif 			= 5; //A diferença que a faixa de páginas irão começar a caminhar (google)
$Cx_Aberto      = 0;
$where          = "";
$registros      = 0;

$p 				= (@$_GET['p'] ? $_GET['p'] : 1);
if(isset($_POST['id_update'])){$id_update         = $_POST['id_update'];}
if(isset($_POST['id_insert'])){$id_insert         = $_POST['id_insert'];}
$fields			=" mc.ci_mov_caixa, cb.nr_agencia||'/'||cb.nr_conta||'-'||cb.ds_banco as banco,trim(to_char(mc.vlr_inicial,'R$99G999D99')) as vlr_inicial,trim(to_char(mc.vlr_final,'R$99G999D99')) as vlr_final,to_char(mc.dt_abertura,'dd/mm/yyyy') as dt_abertura ,to_char(mc.dt_fechamento,'dd/mm/yyyy') as dt_fechamento ";
//Adicionando js para picklist
//Controller::addHead('jquery.picklists', 'js');
//Controller::addHead('jquery.multiselects-0.3', 'js');

if(isset($_POST['ci_conta_banco'])){$cd_contabancaria="'".$_POST['ci_conta_banco']."'";

$ChecaCaixa ="select coalesce(ci_mov_caixa,0) as cx_aberto from tethys.tb_movimento_caixa where dt_fechamento is null ";
if ($cd_contabancaria!=""){
	$ChecaCaixa = $ChecaCaixa." and cd_contabancaria= ".$cd_contabancaria;
}

$rs = Connection::query($ChecaCaixa);
$row = $rs->fetch();
$Cx_Aberto =$row['cx_aberto'];
}

//Exclusão de vários ou um registro
/*if(isset($_GET['del'])){
 if(is_numeric($_GET['del'])){
 $values = array();
 for($i=0; $i<$_GET['del']; $i++){
 if(is_numeric(@$_POST['checkdel_'.$i])){
 $values[] = $_POST['checkdel_'.$i];
 }
 }
 Util::growl('Aviso', 'Excluído com sucesso!', 'ok');
 if(count($values) > 0){
 if(!SQL::remove($table, $tablepk, $values)){
 Util::alert('Verifique se este Conta está sendo utilizada!');
 }
 }
 }
 }*/

//Exclusão de vários ou um registro
if(isset($_POST['checkdel'])){
	if($auth->isDelete($transacao)){
		if(SQL::remove($table, 'ci_mov_caixa', $_POST['checkdel'])){
			Controller::setInfo('Abertura de Caixa', 'Excluída com sucesso!', 'success', 'info-circle', 3500);
		}
		else{
			Controller::setInfo('Abertura de Caixa', 'Por favor contate o administrador.', 'danger', '', 3500);
		}
	}
	else{
		Util::info(Config::AUTH_MESSAGE);
	}
}


if ($Cx_Aberto !=1){
	//Alteração ou inclusão de um registro
	if(!empty($id_insert) && $id_insert==1 ){
		$cd_contabancaria="'".$_POST['ci_conta_banco']."'";
		$vlr_inicial =str_replace('R$','',$_POST['dc_saldo_inicial']);
		$vlr_inicial =str_replace('.','',$vlr_inicial);
		$vlr_inicial = str_replace(',','.',$vlr_inicial);

		$nm_usuario = "'".strtoupper($user['nm_login'])."'";
		$insert = 'insert into tethys.tb_movimento_caixa (cd_contabancaria,dt_abertura, usr_abertura,vlr_inicial) values ('.$cd_contabancaria.',now(),'.$nm_usuario.','.$vlr_inicial.');';

		if(execute($insert)){
			Controller::setInfo('Abertura de Caixa', 'Registro salvo com sucesso!', 'success', 'info-circle', 3500);
			Controller::redirect(Util::setLink(array('form=null', 'db=null')));
		}
		else{
			Controller::setInfo('Abertura de Caixa', 'Por favor contate o administrador.', 'danger', '', 3500);
		}

	}
}else {
	$page="index.php?page=financeiro/movimento_caixa";
	Controller::setInfo('Controle de Caixa e Banco', 'Este Caixa já está aberto!!','alert');
	Controller::redirect($page);
}

if( !empty($id_update) && $id_update==1 ){
	$ci_mov_caixa=$_POST['ci_mov_caixa'];
	$vlr_final =str_replace('.','',$_POST['df_saldo_final']);
	$vlr_final =str_replace('R$','',$vlr_final);
	$vlr_final = str_replace(',','.',$vlr_final);
	$dt_fechamento = "'".$_POST['df_dt_fechamento']."'";

	$update="update ".$table." set vlr_final=".$vlr_final.",dt_fechamento=".$dt_fechamento." where ci_mov_caixa=".$ci_mov_caixa;

	if(execute($update)){
		Controller::setInfo('Abertura de Caixa', 'Registro salvo com sucesso!', 'success', 'info-circle', 3500);
		Controller::redirect(Util::setLink(array('form=null', 'db=null')));
	}
	else{
		Controller::setInfo('Abertura de Caixa', 'Por favor contate o administrador.', 'danger', '', 3500);
	}
}


//Mudança do formulário para adição ou alteração de registro
if(isset($_GET['form'])){
	if($_GET['form'] == 0){
		$btFormLabel = 'Adicionar';
	}
	else{
		$btFormLabel = 'Salvar';
		$rowEdit = SQL::getRows($table, array($tablepk => $_GET['form']), null, true);
	}
	$form = true;
}

//Consulta no banco e mecânica de paginação
if(isset($_POST['search1']) || !$form){

	$sql=" select $fields from $tableEdit
	order by dt_fechamento desc limit {$limitPagina} offset ".(($p - 1) * $limitPagina);

	if(isset($_POST['search1'])){
		$term = addslashes($_POST['search1']);
		$where =  " cb.ds_banco ilike '%{$term}%' ";
	}

	$query = query($sql);
	$sqlNum = " select count(*) as num from $tableEdit where 1=1 $where";
	$rowNum = query($sqlNum)->fetch();
	$registros = $rowNum['num'];
	$paginacao = Util::pagination($registros, 4);

}
?>
<h3>
	<i class="glyphicon glyphicon-user"></i> Abertura de Caixa -
	<?php echo (!isset($_GET['form']) ? 'Pesquisa' : (@$_GET['form'] > 0 ? 'Edição' : 'Cadastro')); ?>
</h3>
	<?php if(isset($_GET['form'])){ ?>
<a href="#" class="command-page"
	onclick="window.location='?page=financeiro/movimento_caixa';"><span
	class="fa fa-reply"></span> Voltar</a>
	<?php } ?>

<div
	class="panel panel-default">
	<div class="panel-body">
		<div id="alerts"></div>
		<?php if(!isset($_GET['form'])){ ?>
		<form action="<?php echo Util::setLink(array('p=null')); ?>"
			method="post" class="form">
			<div class="row">
				<div class="col-md-8">
					<button id='btn_cadastrar' type="button" class="btn btn-default">
						<i class="fa fa-university"></i>Abertura
					</button>
					<button id='btn_fechar' type="button" class="btn btn-default">
						<i class="fa fa-money"></i>Fechamento
					</button>
				</div>
			</div>
		</form>
	</div>

	<form method="post" id="formSearch">
		<div class="table-responsive">
			<input type="hidden" id="hdn_radio" name="hdn_radio" />
			<table
				class="table table-striped table-bordered table-hover table-condensed">
				<thead>
					<tr class="ui-widget-header">
						<th width="25" class="check"><input type="checkbox" id="btCheckAll" /></th>
						<th>Conta</th>
						<th>Data de Abertura</th>
						<th>Saldo Inicial</th>
						<th>Data de Fechamento</th>
						<th>Saldo Final</th>
						<th></th>
					</tr>
				</thead>
				<tbody>
				<?php
				$count = 0;
				while($row = $query->fetch()){
					echo '<tr '.(($row['dt_fechamento'] != "") ? 'bgcolor=#EEDD82': '').'>';
					if ($row['dt_fechamento']==""){
						echo '<td class="check"><input type="checkbox" class="btCheck" name="checkdel[]" value="'.$row[$tablepk].'"/></td>';
					}else{
						echo '<td class="check" ><input type="checkbox" class="btCheck" disabled="disabled"/></td>';
					}
					echo' <td>'.$row['banco'].'</td>
		                <td>'.$row['dt_abertura'].'</td>
		                <td>'.$row['vlr_inicial'].'</td>
		                <td>'.$row['dt_fechamento'].'</td>
		                <td>'.$row['vlr_final'].'</td>';
					if ($row['dt_fechamento']==""){
						echo' <td width="30" align="center">
		                 <input type="radio" id="cd_titulo" name="cd_titulo" value="'.$row['ci_mov_caixa'].'" onclick="Seleciona_Radio(this);" class="btEdit ui-widget ui-helper-clearfix"/>		                	
		                </td>';
					} else{
						echo '<td width="30" align="center">
		            			<div class="form-control" onclick="javascript:alert(\'Este caixa já se encontra fechado!\');"><i class="fa fa-ban"></i>
		            			</div>							
		            	 	 </td>';
					}
					echo '</tr>';
					$count++;
				}
				?>
				</tbody>
			</table>
		</div>
	</form>
	<!-- FIM FORMULÁRIO PESQUISA -->
	<button id="btDel" class="btn btn-default" title="Excluir selecionados"
		data-toggle="modal" data-target="#modalExcluir">
		<span class="fa fa-trash"></span> Excluir
	</button>
	<?php echo $paginacao; ?>

	<!-- INICIO FORMULÁRIO CADASTRO -->
	<div class="modal fade bs-example-modal-lg" id="dialog_cadastrar"
		tabindex="-1" role="dialog" aria-labelledby="Painel Cadastrar"
		aria-hidden="true">
		<div class="modal-dialog modal-lg">
			<div class="modal-content">
				<div class="modal-header">
					<button type="button" class="close" data-dismiss="modal"
						aria-label="Close">
						<span aria-hidden="true">&times;</span>
					</button>
					<h4 class="modal-title" id="myModalLabel">Abertura de Caixa -
						Cadastro</h4>
				</div>
				<div class="modal-body">
					<form action="<?php echo Util::setLink(array('db=1')) ?>"
						method="post" id="cadastrar">
						<div class="row" id="cadastro_2">
							<div class="col-md-10">
								<div class="form-group">
									<div class="col-md-6">
										<label class="control-label">CC/Caixa:<span
											class="text-danger">*</span> </label> <select
											name="ci_conta_banco" id="ci_conta_banco"
											class="form-control" onblur="validaCampos(this);">
											<?php
											$sql="select ci_contabancaria,nr_agencia||'/'||nr_conta||'-'||ds_banco as banco from tethys.tb_contabancaria order by ds_banco";
											echo '<option value="" >Selecione uma Conta</option>';
											$rs = Connection::query($sql);
											while($row = $rs->fetch()){
												echo '<option value="'.@$row['ci_contabancaria'].'" >'.$row['banco'].'</option>';
											}
											?>
										</select>
									</div>
								</div>
							</div>
							<div class="col-md-10">
								<div class="form-group">
									<div class="col-md-6">
										<label class="control-label">Saldo Inicial:<span
											class="text-danger">*</span> </label> <input type="text"
											id="dc_saldo_inicial" name="dc_saldo_inicial"
											value="<?php echo trim(@$row['saldo_inicial']); ?>"
											class="form-control" size="30" onblur="validaCampos(this);" />
									</div>
								</div>
							</div>
						</div>
						<div class="modal-footer">
							<button id="btInsertEdit" type="submit" class="btn btn-primary">Cadastrar</button>
							<input type="hidden" id="id_insert" name="id_insert" value="1" />
						</div>
					</form>
				</div>
			</div>
		</div>
	</div>

	<div class="modal fade bs-example-modal-lg" id="dialog_fechar"
		tabindex="-1" role="dialog" aria-labelledby="Painel Encerrar"
		aria-hidden="true">
		<div class="modal-dialog modal-lg">
			<div class="modal-content">
				<div class="modal-header">
					<button type="button" class="close" data-dismiss="modal"
						aria-label="Close">
						<span aria-hidden="true">&times;</span>
					</button>
					<h4 class="modal-title" id="myModalLabel">Abertura de Caixa -
						Fechamento</h4>
				</div>
				<div class="modal-body">
					<form action="<?php echo Util::setLink(array('db=1')) ?>"
						method="post" id="encerrar">
						<input type="hidden" id="ci_mov_caixa" name="ci_mov_caixa" />
						<div class="row" id="cadastro_2">
							<div class="col-md-10">
								<div class="form-group">
									<div class="col-md-6">
										<label class="control-label">CC/Caixa:<span
											class="text-danger">*</span> </label> <input type="text"
											id="df_nm_conta_banco" name="df_nm_conta_banco"
											class="form-control" size="30" readonly="readonly" />
									</div>
								</div>
							</div>
							<div class="col-md-10">
								<div class="form-group">
									<div class="col-md-6">
										<label class="control-label">Saldo Final:<span
											class="text-danger">*</span> </label> <input type="text"
											id="df_saldo_final" name="df_saldo_final"
											onblur="validaCampos(this);"
											value="<?php echo trim(@$row['vlr_final']); ?>"
											class="form-control" size="30" />
									</div>
								</div>
							</div>
							<div class="col-md-10">
								<div class="form-group">
									<div class="col-md-6">
										<label class="control-label">Data de Fechamento:<span
											class="text-danger">*</span> </label>
										<div class="input-group date" id="datepicker_nasc">
											<input type="text" id="df_dt_fechamento"
												name="df_dt_fechamento" class="form-control"
												data-format="DD/MM/YYYY" onkeypress="mask(this, data)"
												value="<?php echo @$rowEdit['dt_fechamento']; ?>"
												maxlength="10" readonly="readonly" /> <span
												class="input-group-addon btn btn-default"><span
												class="glyphicon glyphicon-calendar"></span>
										
										</div>
									</div>
								</div>
							</div>
						</div>
						<div class="modal-footer">
							<button id="btInsertEdit" type="submit" class="btn btn-primary">Encerrar</button>
							<input type="hidden" id="id_update" name="id_update" value="1" />
						</div>
					</form>
				</div>
			</div>
		</div>
	</div>

</div>
<!-- Fim área de dialogos-->
											<?php } ?>

<style type="text/css">
ul.none {
	list-style-type: none;
	display: inline;
}

#funcoes ul {
	padding: 0px;
	margin: 0px;
	float: left;
	width: 100%;
	background-color: #EDEDED;
	list-style: none;
}

#funcoes ul li {
	display: inline;
}

#funcoes ul li a {
	padding: 2px 10px;
	float: left;
	/* visual do link */
	background-color: #EDEDED;
	color: #333;
	text-decoration: none;
	border-bottom: 3px solid #EDEDED;
}

#funcoes ul li a:hover {
	background-color: #D6D6D6;
	color: #6D6D6D;
	border-bottom: 3px solid #EA0000;
}
</style>

<script type="text/javascript">
function Seleciona_Radio(radio){	
	document.getElementById("hdn_radio").value=radio.value;
}

function validaCampos(obj){
	//alert('validaCampos'+' valor:'+obj.value);
	if(obj.value==""){
		 $(obj).css({"border-color" : "#F00", "padding": "2px"});	
	}else{
		 $(obj).class="form-control";
		}	
}

$(function(){	

	$("#datepicker_nasc").datetimepicker({
		pickTime:false,
		language:'pt-br'
	});
	
	$('#btn_cadastrar').click(function(){		
		$('#dialog_cadastrar').modal('show');
	});

	$('#btn_fechar').click(function(){				
		var id = $('#hdn_radio').val();
		if (id!=0) {		
			$.ajax({
				url:"partials/getContaCaixa.php",
				type:"POST",
				data:{ci_mov_caixa:id},
				dataType:"json",			
				success: function(json){
					$('#df_nm_conta_banco').val(json.banco);
					$('#ci_mov_caixa').val(json.ci_mov_caixa);				
					$('#df_saldo_final').val(json.saldo_atual);
				}		 			  
			});
			$('#dialog_fechar').modal('show');
		}else{
			alert("Primeiro selecione um caixa a ser Fechado!");
			return false;
			}	
	});
	
	$('#ci_conta_banco').click(function(){	
		var id = $("#ci_conta_banco").val();
				$.ajax({
				url:"partials/getSaldo_Anterior.php",
				data:{cd_contabancaria:id},
				type:"POST",
				dataType:"json",			
				success: function(json){			
					$('#dc_saldo_inicial').val(json.saldo_anterior);
							}		 			  
			});
	});

	$( "#df_dt_fechamento" ).datepicker({
		showOn: "button",
		buttonImage: "assets/imgs/calendar.png",
		buttonImageOnly: true
	});
	
})(jQuery);
</script>

